<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/6/5 0005
 * Time: 上午 9:12
 * 企业付款工具类
 */
namespace app\common\controller;
use app\wxmsg\controller\Wxtool;

/**
 * 微信发送消息工具类
 * Class MessageTools
 * @package app\common\controller
 */

class MessageTools {
   /**
    * 发送文本消息，此消息的发送前提是用户是必须关注公众号，用户长时间
    * 跟公众号没有互动，也无法发送成功
    * @param $wx_openid 用户的wx_openid
    * @param $text 发送的文本内容
    * @return $res['errcode']=0  发送消息成功，否则发送消息失败
    */
    public static function  sendText($wx_openid,$text){
        $token=Wxtool::getAccessToken();
        $token=$token['data']['access_token'];
        $url="https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$token";
        $data['touser']=$wx_openid;
        $data['msgtype']="text";
        $data['text']['content']=$text;
        $json=json_encode($data,JSON_UNESCAPED_UNICODE);
        $result_=httpPost($url,$json);
        $res=json_decode($result_,true);
        return $res;
    }

    /**
     * 发送微信图文消息
     *
     *
     * 构造如下json字符串，向微信发送post请求
    {
    "touser": "oK33Vs8qZ6LW6jsMZ4x3d3h1j-iM",
    "msgtype": "news",
      "news": {
       "articles": [{
        "         title": "图文测试",
                  "description": "测试",
                   "picurl": "http://p.yigo.fun/public/static/img/neways/jiaotong.png",
                   " url": "http://p.yigo.fun/creditcard/creditcard/yigo"
                      }]
         }
      }
     *
     * @param $wx_openid 发送用户的wx_openid
     * @param $title 图文消息的标题
     * @param $description 图文消息的描述备注
     * @param $picurl 图文消息显示的图片链接
     * @param $url 点击图文消息跳转的链接地址
     * @return $res['errcode']=0  发送消息成功，否则发送消息失败
     */
    public static  function  sendImageText($wx_openid,$title,$description,$picurl,$newurl){
        $token=Wxtool::getAccessToken();
        $token=$token['data']['access_token'];
        $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$token;
        //构造请求参数
        $data['touser']=$wx_openid;
        $data['msgtype']="news";
        $temp['title']=$title;
        $temp['description']=$description;
        $temp['picurl']=$picurl;
        $temp['url']=$newurl;
        $data['news']['articles'][]=$temp;
        $json=json_encode($data,JSON_UNESCAPED_UNICODE);
        $res=httpPost($url,$json);
        $res=json_decode($res,true);
        return $res;
    }
    /**
     * 中将结果通知
     * 发送中奖结果通知模板消息
     * @param  $wx_openid 发送模板消息用户的wx_openid
     * @param $newurl 点击模板 消息跳转的url链接地址
     * @param $acitvity_name 活动名称
     * @param $prizename 中的奖品名称
     * @param $remark 备注说明
     * @return $res['errcode']=0  发送消息成功，否则发送消息失败
     */
    public function  sendGetPrizeInformed($wx_openid,$newurl,$acitvity_name,$prizename,$remark=''){
        $template_id="kWJn8JqIBFupqg0RKkb5NHCf_wlYHku7iUDuHg-RqxY";
        $ACCESS_TOKEN=Wxtool::getAccessToken();
        $ACCESS_TOKEN=$ACCESS_TOKEN['data']['access_token'];
        $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=$ACCESS_TOKEN";
        $data['touser']=$wx_openid;
        $data['template_id']=$template_id;
        $data['url']=$newurl;

        $temp['first']['value']="恭喜您中奖了";
        $temp['first']['color']="#173177";
        //活动
        $temp['keyword1']['value']=$acitvity_name;
        $temp['keyword1']['color']="#173177";
         //奖品
        $temp['keyword2']['value']=$prizename;
        $temp['keyword2']['color']="#173177";
        //时间
        $temp['keyword3']['value']=date("Y-m-d H:i:s",time());
        $temp['keyword3']['color']="#173177";
         //备注
        $temp['remark']['value']=$remark;
        $temp['remark']['color']="#173177";

        $data['data']=$temp;

        //将请求参数转为json串
        $json=json_encode($data,JSON_UNESCAPED_UNICODE);
        $res=httpPost($url,$json);
        $res=json_decode($res,true);
        return $res;

    }


    /**
     * 报名成功通知模板
     * 发送中奖结果通知模板消息
     * @param  $wx_openid 发送模板消息用户的wx_openid
     * @param $newurl 点击模板 消息跳转的url链接地址
     * @param $theme_title 活动名称
     * @param $time 中的奖品名称
     * @param $place 活动地点
     * @param $remark 备注说明
     * @return $res['errcode']=0  发送消息成功，否则发送消息失败
     */
    public function  sendsignInformed($wx_openid,$newurl,$title,$theme_title,$time,$place,$remark=''){
        $template_id="43U6zMJuzpCR1sDImgEfbupjQLYuwqZGt9Oetbv15gk";
        $ACCESS_TOKEN=Wxtool::getAccessToken();
        $ACCESS_TOKEN=$ACCESS_TOKEN['data']['access_token'];
        $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=$ACCESS_TOKEN";
        $data['touser']=$wx_openid;
        $data['template_id']=$template_id;
        $data['url']=$newurl;
        //活动标题
        $temp['first']['value']=$title;
        $temp['first']['color']="#173177";
         //活动主题
        $temp['keynote1']['value']=$theme_title;
        $temp['keynote1']['color']="#173177";
        //活动时间
        $temp['keynote2']['value']=$time;
        $temp['keynote2']['color']="#173177";
        //活动地点
        $temp['keynote3']['value']=$place;
        $temp['keynote3']['color']="#173177";
        //备注
        $temp['remark']['value']=$remark;
        $temp['remark']['color']="#173177";

        $data['data']=$temp;

        //将请求参数转为json串
        $json=json_encode($data,JSON_UNESCAPED_UNICODE);
        $res=httpPost($url,$json);
        $res=json_decode($res,true);
        return $res;

    }




    /**
     * 支付成功通知模板
     * 发送中奖结果通知模板消息
     * @param  $wx_openid 发送模板消息用户的wx_openid
     * @param $newurl 点击模板 消息跳转的url链接地址
     * @param $title 模板标题
     * @param $money 支付金额
     * @param $info 支付商品信息
     * @param $remark 备注说明
     * @return $res['errcode']=0  发送消息成功，否则发送消息失败
     */
    public static  function  sendOrderInformed($wx_openid,$newurl,$title,$money,$info,$remark=''){
        $template_id="32DBMA41arfdAcNinOk-W6aKKG_s6Zdjh2ezNPLGZMA";
        $ACCESS_TOKEN=Wxtool::getAccessToken();
        $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=$ACCESS_TOKEN";
        $data['touser']=$wx_openid;
        $data['template_id']=$template_id;
        $data['url']=$newurl;
        //活动标题
        $temp['first']['value']=$title;
        $temp['first']['color']="#173177";
        //支付金额
        $temp['orderMoneySum']['value']=$money;
        $temp['orderMoneySum']['color']="#173177";
        //商品信息
        $temp['orderProductName']['value']=$info;
        $temp['orderProductName']['color']="#173177";

        //备注
        $temp['remark']['value']=$remark;
        $temp['remark']['color']="#173177";

        $data['data']=$temp;

        //将请求参数转为json串
        $json=json_encode($data,JSON_UNESCAPED_UNICODE);
        $res=httpPost($url,$json);
        $res=json_decode($res,true);
        return $res;

    }


    /**
     * 验证码下发通知模板
     * 发送中奖结果通知模板消息
     * @param  $wx_openid 发送模板消息用户的wx_openid
     * @param $title 模板标题
     * @param $money 支付金额
     * @param $info 支付商品信息
     * @param $remark 备注说明
     * @return $res['errcode']=0  发送消息成功，否则发送消息失败
     */
    public function  sendYzmInformed($wx_openid,$number){
        $template_id="oGlcdq0CSxWnlVdIDXDOzo8mtNsTu5rQBxjrr1oM5QA";
        $ACCESS_TOKEN=Wxtool::getAccessToken();
        $url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=$ACCESS_TOKEN";
        $data['touser']=$wx_openid;
        $data['template_id']=$template_id;
        //活动标题
        $temp['first']['value']="尊敬的用户,您的翼Go平台";
        $temp['first']['color']="#173177";

        //备注
        $temp['remark']['value']=$number;
        $temp['remark']['color']="#173177";

        $data['data']=$temp;

        //将请求参数转为json串
        $json=json_encode($data,JSON_UNESCAPED_UNICODE);
        $res=httpPost($url,$json);
        $res=json_decode($res,true);
        return $res;

    }
    /**
     * @param $arr 数组
     * @return string $xml 格式的字符串
     */
  public static  function  arrayToXml($arr)
    {
        $xml = "<xml>";
        foreach ($arr as $key=>$val)
        {
            if (is_numeric($val)){
                $xml.="<".$key.">".$val."</".$key.">";
            }else{
                $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
            }
        }
        $xml.="</xml>";
        return $xml;
    }
}